perm filename BIO[P,JRA] blob
sn#170722 filedate 1975-07-30 generic text, type C, neo UTF8
COMMENT ā VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 Biography:
C00005 00003 1969 systems programmer and researcher
C00008 00004 Publications:
C00012 ENDMK
Cā;
Biography:
John Richardson Allen
Born: September 2, 1937; married with two children
Education:
1959 B.A. in mathematics (with honors)
Michigan Technological University
Houghton, Michigan
1962 M.A. in mathematics
University of California
Santa Barbara, Cal
(work in analysis, algebra, and mathematical logic)
1966-1969 graduate work in Computer Science
Stanford University
Stanford, Cal
(work in traditional computer science areas, mathematical logic,
recursion theory, set theory, and foundations of mathematics)
Experience:
1959-1960 mathematical programmer
Burroughs Corp.
Sierra Madre, Cal
(machine language programming of various mathematical problems.)
1960-1963 teaching assistant
University of California
Santa Barbara, Cal
(taught trig, algebra, and first-year calculus courses)
1963-1965 mathematical and systems programmer
General Motors Research Labs
Goleta, Cal
(general mathematical programming; developed LISP for IBM7040;
modification of operating system for 7040)
1965-1966 systems programmer
Stanford A.I. Project
Stanford, Cal
(designed and developed display-based time-sharing system for PDP-1
implemented Culler-Fried system for this system;
- the PDP-1 system was the basis of the current AI lab system -
maintained early PDP-6 monitors)
1966-1968 student research associate
Stanford A.I. Laboratory
Stanford, Cal
(modified MAC-LISP to Stanford-LISP; maintained LISP complier and system;
developed simple LISP editor and interfaced LISP to machine language
programs; designed LISP's big-number programs. Research in resolution
theory and interactive theorem-proving)
1969 systems programmer and researcher
Institute for Mathematical Studies in Social Sciences
Stanford University
Stanford, Cal
(continuing research in theorem-proving; general consultant on PDP-10
system, and applications of theorem-proving to educational areas)
1970-1972 Assistant Professor of Computer Science
Computer Science Dept
University of California
Los Angeles, Cal
(taught courses in basic machine and systems orgainzation, data structures,
compiler construction, and semantics of programming languages. Organized
seminar on extensible languages, correctness and language design. Research
in theorem-proving and language design)
1972 -1975 Research Associate
Stanford A.I. Lab
Computer Science Dept.
Stanford Cal
(Theory and applications of theorem-proving, automatic programming,
and verification; investigations of the specification of programming
languages and data structures with a view to their formal properties;
study of the design of interactive programming environments to aid in
the construction of correct programs.)
1973 & 1974 guest lecturer
Information Sciences Dept
University of Cal
Santa Cruz, Cal
(Each year a two-week session on LISP and data stuctures for the
graduate workshop)
1975 lecturer (current)
Mathematics Dept
San Jose State University
San Jose, Cal
(Spring semester: taught a one-semester graduate course on abstract
programming, LISP, data structures, and translator construction;
uses my manuscript(see below)
(Summer semester: currently teaching a graduate seminar on mathematical
models of programming languages)
Publications:
Various very old technical reports from Burroughs and General Motors
McCarthy, et.al. Thor - A Display Based Time Sharing System
AFIPS Vol 30, 1967
Allen & Luckham, An Interactive Theorem-Proving Program
Machine Intelligence Vol 5. 1970
Allen, The Anatomy of LISP (tentative title)
book on language design, abstract programming, data structures, LISP,
mathematical semantics, ...
to be published by McGraw-Hill
Various SAIL memos: Documentation on LISP 1.6, A LISP editor (ALVINE)
and user's manual for the theorem prover.
Organizations:
ACM, SIGACT, SIGART, SIGOPS, SIGPLAN
Interests (in alphabetical order):
Education: I am quite interested in the development better programs
for the education of future Computer Scientists. I particularly
object to the style and content of introductory (undergraduate)
courses. My book is a realization of many of my ideas about
education and some of my research interests involve development of
a programming environment to reenforce these educational policies.
I have written (and had accepted for publication) a letter to the
ACM Forum attacking the current ACM68 course structure.
Interactive systems: I am particularly interested in establishing a
display based programming laboratory to support interactive
construction of correct or reliable programs.
Language design: One of the difficulties involved in getting clean
and correct programs written is the generally poor state of curent
programming languages. Most were developed with batch-processing in
mind. Few were developed with any consideration towards on-line
construction, and even fewer considered the problem of proving
correctness of the programs. Just as the early '60s saw a
structuring of language design to conform to the syntactic
constraints of BNF, we should consider the semantic constraints of
correctness when we propose new languages.
Mathematical semantics: One of the current roadblocks to
correctness and reliability is a lack of knowledge about the "rules
of inference" for program construction. Several schools of
semantics of programming language exist. It will be through these
investigations that we will be able to put firm foundations on
programming constructs.